<?php

class CHCPlotMarker extends AbstractHCObject
{
    /**
     *  Enable or disable the point marker. 
     *  
     *  Defaults to true.
     *  
     * @param Boolean $pbBoolean
     */
    public function setEnabled($pbBoolean=true)
    {
        if (CSDebug::assertBoolean($pbBoolean)) return false;
        
        $this->setParam('enabled', $pbBoolean);
    }
    
    
    /**
     * The fill color of the point marker. 
     * When "auto", the series' or point's color is used. 
     *  
     * Defaults to "auto".
     * @param $psColor
     */
    public function setFillColor($psColor)
    {
        // default
        if ($psColor == 'auto') return true;
        
        if (CSDebug::assertHex($psColor)) return false;
        
        $this->setParam('fillColor', $psColor);
    }
    
    
    /**
     *  The color of the point marker's outline. 
     *  When "auto", the series' or point's color is used. 
     *  
     *  Defaults to "#FFFFFF".
     *  
     * @param $psColor
     */
    public function setLineColor($psColor)
    {
        // default
        if ($psColor == 'auto') return true;
        
        if (CSDebug::assertHex($psColor)) return false;
        
        $this->setParam('lineColor', $psColor);
    }
    
    
    /**
     *  The width of the point marker's outline. 
     *  
     *  Defaults to 0.
     *  
     * @param $pnInteger
     */
    public function setLineWidth($pnInteger=0)
    {
        if (CSDebug::assertInteger($pnInteger)) return false;
        
        $this->setParam('lineWidth', $pnInteger);
    }
    
    
    /**
     * The radius of the point marker. 
     * 
     * In hover state, it defaults to the normal state's radius + 2. 
     * 
     * @param $pnInteger
     */
    public function setRadius($pnInteger)
    {
        if (CSDebug::assertInteger($pnInteger)) return false;
        
        $this->setParam('radius', $pnInteger);
    }
    
    /**
     * TODO impelement marker.states
     */
}

?>